# -*- coding: utf-8 -*-
import sys

from pyspark.mllib.util import MLUtils

sys.path.append("../")
from pyspark.mllib.feature import HashingTF as MLH
from pyspark.ml.clustering import LDA
from clustering import Clustering

import jieba

jieba.load_userdict("/Users/xiaojun/pythonDir/sparkmongo/openStudyDataAnalysis/models/dic.txt")
def cutContent(content):
    return list(jieba.cut(content))

def isFanfa(wordsArr):
    fanfaWords = "国家级、世界级、最高级、最佳、最大、第一、唯一、首个、首选、最好、最大、精确、顶级、最高、最低、最、最具、最便宜、最新、最先进、最大程度、最新技术、最先进科学、国家级产品、填补国内空白、绝对、独家、首家、最新、最先进、第一品牌、金牌、名牌、优秀、最先、顶级、独家、全网销量第一、全球首发、全国首家、全网首发、世界领先、顶级工艺、最新科学、最新技术、最先进加工工艺、最时尚、极品、顶级、顶尖、终极、最受欢迎、王牌、销量冠军、第一、NO.1、Top1、极致、永久、王牌、掌门人、领袖品牌、独一无二、独家、绝无仅有、前无古人、史无前例、万能"
    fanfaArr = fanfaWords.split("、")
    temp = []
    for word in wordsArr:
        if word in fanfaArr:
            temp.append(word)

    return temp


class FX168Clustering(Clustering):
    def __init__(self, ctx, df, params):
        super(FX168Clustering, self).__init__(ctx, df, params)
        self.ctx = ctx
        self.df = df
        self.LDAParams = self.params["clusteringParams"]


    def clustering(self):
        self.df.printSchema()
        documentRdd = self.df.rdd.map(lambda x: (x["html"], x["url"])).\
            map(lambda y: (cutContent(y[0]),y[1])).\
            map(lambda m: (isFanfa(m[0]),m[1])).\
            filter(lambda n: len(n[0]) > 0 ).take(2)
        print(documentRdd)
